﻿using System;
using System.Collections.Generic;
using System.Linq;
using Mjolnir.InfraEstrutura.Servicos;

namespace Mjolnir.Modelo.Matrizes
{
  public class ServicoMatriz3x4 : ServicoBase<Matriz3x4, FabricaMatriz<Matriz3x4>>, IServicoMatriz<Matriz3x4>
  {
    public void setarValor(double[] valor)
    {
      entidade.M00 = valor[0];
      entidade.M01 = valor[1];
      entidade.M02 = valor[2];
      entidade.M03 = valor[3];
      entidade.M10 = valor[4];
      entidade.M11 = valor[5];
      entidade.M12 = valor[6];
      entidade.M13 = valor[7];
      entidade.M20 = valor[8];
      entidade.M21 = valor[9];
      entidade.M22 = valor[10];
      entidade.M23 = valor[11];
    }

    public void setarValor(Matriz3x4 valor)
    {
      entidade.M00 = valor.M00;
      entidade.M01 = valor.M01;
      entidade.M02 = valor.M02;
      entidade.M03 = valor.M03;
      entidade.M10 = valor.M10;
      entidade.M11 = valor.M11;
      entidade.M12 = valor.M12;
      entidade.M13 = valor.M13;
      entidade.M20 = valor.M20;
      entidade.M21 = valor.M21;
      entidade.M22 = valor.M22;
      entidade.M23 = valor.M23;
    }

    public void obterValor(ref double[] valor)
    {
      valor[0] = entidade.M00;
      valor[1] = entidade.M01;
      valor[2] = entidade.M02;
      valor[3] = entidade.M03;
      valor[4] = entidade.M10;
      valor[5] = entidade.M11;
      valor[6] = entidade.M12;
      valor[7] = entidade.M13;
      valor[8] = entidade.M20;
      valor[9] = entidade.M21;
      valor[10] = entidade.M22;
      valor[11] = entidade.M23;
    }
  }
}
